WEEK 3: DATA CLEANING & MANIPULATION

Monday, January 23rd

Today we will…

dplyr

dplyr verbs

“Grammar of Data Manipulation”

dplyr cheatsheet

  • filter()
  • arrange()
  • select()
  • mutate()
  • summarize()
  • Use group_by() to perform group wise operations
  • Use the pipe operator (|> or %>%) to chain together data wrangling operations

Data wrangling by Allison Horst

Example Data set – Cereal

library(liver)
data(cereal)
str(cereal, give.attr = FALSE)
'data.frame':   77 obs. of  16 variables:
 $ name    : Factor w/ 77 levels "100% Bran","100% Natural Bran",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ manuf   : Factor w/ 7 levels "A","G","K","N",..: 4 6 3 3 7 2 3 2 7 5 ...
 $ type    : Factor w/ 2 levels "cold","hot": 1 1 1 1 1 1 1 1 1 1 ...
 $ calories: int  70 120 70 50 110 110 110 130 90 90 ...
 $ protein : int  4 3 4 4 2 2 2 3 2 3 ...
 $ fat     : int  1 5 1 0 2 2 0 2 1 0 ...
 $ sodium  : int  130 15 260 140 200 180 125 210 200 210 ...
 $ fiber   : num  10 2 9 14 1 1.5 1 2 4 5 ...
 $ carbo   : num  5 8 7 8 14 10.5 11 18 15 13 ...
 $ sugars  : int  6 8 5 0 8 10 14 8 6 5 ...
 $ potass  : int  280 135 320 330 -1 70 30 100 125 190 ...
 $ vitamins: int  25 0 25 25 25 25 25 25 25 25 ...
 $ shelf   : int  3 3 3 3 3 1 2 3 1 3 ...
 $ weight  : num  1 1 1 1 1 1 1 1.33 1 1 ...
 $ cups    : num  0.33 1 0.33 0.5 0.75 0.75 1 0.75 0.67 0.67 ...
 $ rating  : num  68.4 34 59.4 93.7 34.4 ...
head(cereal)
                       name manuf type calories protein fat sodium fiber carbo
1                 100% Bran     N cold       70       4   1    130  10.0   5.0
2         100% Natural Bran     Q cold      120       3   5     15   2.0   8.0
3                  All-Bran     K cold       70       4   1    260   9.0   7.0
4 All-Bran with Extra Fiber     K cold       50       4   0    140  14.0   8.0
5            Almond Delight     R cold      110       2   2    200   1.0  14.0
6   Apple Cinnamon Cheerios     G cold      110       2   2    180   1.5  10.5
  sugars potass vitamins shelf weight cups   rating
1      6    280       25     3      1 0.33 68.40297
2      8    135        0     3      1 1.00 33.98368
3      5    320       25     3      1 0.33 59.42551
4      0    330       25     3      1 0.50 93.70491
5      8     -1       25     3      1 0.75 34.38484
6     10     70       25     1      1 0.75 29.50954
summary(cereal)
                        name    manuf    type       calories    
 100% Bran                : 1   A: 1   cold:74   Min.   : 50.0  
 100% Natural Bran        : 1   G:22   hot : 3   1st Qu.:100.0  
 All-Bran                 : 1   K:23             Median :110.0  
 All-Bran with Extra Fiber: 1   N: 6             Mean   :106.9  
 Almond Delight           : 1   P: 9             3rd Qu.:110.0  
 Apple Cinnamon Cheerios  : 1   Q: 8             Max.   :160.0  
 (Other)                  :71   R: 8                            
    protein           fat            sodium          fiber       
 Min.   :1.000   Min.   :0.000   Min.   :  0.0   Min.   : 0.000  
 1st Qu.:2.000   1st Qu.:0.000   1st Qu.:130.0   1st Qu.: 1.000  
 Median :3.000   Median :1.000   Median :180.0   Median : 2.000  
 Mean   :2.545   Mean   :1.013   Mean   :159.7   Mean   : 2.152  
 3rd Qu.:3.000   3rd Qu.:2.000   3rd Qu.:210.0   3rd Qu.: 3.000  
 Max.   :6.000   Max.   :5.000   Max.   :320.0   Max.   :14.000  
                                                                 
     carbo          sugars           potass          vitamins     
 Min.   :-1.0   Min.   :-1.000   Min.   : -1.00   Min.   :  0.00  
 1st Qu.:12.0   1st Qu.: 3.000   1st Qu.: 40.00   1st Qu.: 25.00  
 Median :14.0   Median : 7.000   Median : 90.00   Median : 25.00  
 Mean   :14.6   Mean   : 6.922   Mean   : 96.08   Mean   : 28.25  
 3rd Qu.:17.0   3rd Qu.:11.000   3rd Qu.:120.00   3rd Qu.: 25.00  
 Max.   :23.0   Max.   :15.000   Max.   :330.00   Max.   :100.00  
                                                                  
     shelf           weight          cups           rating     
 Min.   :1.000   Min.   :0.50   Min.   :0.250   Min.   :18.04  
 1st Qu.:1.000   1st Qu.:1.00   1st Qu.:0.670   1st Qu.:33.17  
 Median :2.000   Median :1.00   Median :0.750   Median :40.40  
 Mean   :2.208   Mean   :1.03   Mean   :0.821   Mean   :42.67  
 3rd Qu.:3.000   3rd Qu.:1.00   3rd Qu.:1.000   3rd Qu.:50.83  
 Max.   :3.000   Max.   :1.50   Max.   :1.500   Max.   :93.70  
                                                               

The Pipe Operator

No matter how complex and polished the individual operations are, it is often the quality of the glue that most directly determines the power of the system.

— Hal Abelson

The Pipe Operator

  • Code should read like a sentence

  • The data is the primary object, so it should come first in your code.

A Brief History of the Pipe

The original pipe (%>%) was part of the magrittr package.

R version 4.1.0 created the “native” pipe (|>)

The Pipe Operator

dr_robinson |>
  do_a_dance()

The Pipe Operator

dr_robinson |>
  do_a_dance()


dr_robinson |>
  put_on("cool hat") |>
  do_a_dance(type = "macarena")

The Pipe Operator: Data comes first!

  • filter(data = cereal, ...)
  • select(data = cereal, ...)
  • mutate(data = cereal, ...)
summary(data = cereal)

is the same as

cereal |> 
  summary()


The pipe operator is your friend! You can “pipe” manipulated data sets or summaries directly into your ggplot2 code for plotting.

filter()

dplyr filter() by Allison Horst

filter()

We filter to the rows (observations) we would like to keep in the data set.

cereals |> 
  filter(calories < 100)

We can add multiple filters to our data, to get a more specific subset!

cereals |> 
  filter(calories < 100,
         type == "H")

filter(): Handy Helpers!

  • > greater than
  • < less than
  • == equal to
  • ! not
  • %in% identifies if an element belongs to a vector
  • | or
  • is.na() binary evaluation of missing values

filter()

cereal |> 
  filter(calories < 100,
         type == "H")
 [1] name     manuf    type     calories protein  fat      sodium   fiber   
 [9] carbo    sugars   potass   vitamins shelf    weight   cups     rating  
<0 rows> (or 0-length row.names)


What if I wanted either “low calorie” cereals or hot cereals…

Code
cereal |> 
  filter(calories < 100 |
           type == "H")

filter(): Characters and Factors

Are you interested in observations included in a list of levels?

cereal |> 
  filter(name %in% c("Cheerios", "Cinnamon Toast Crunch", "Raisin Bran", "Cracklin' Oat Bran"))
                   name manuf type calories protein fat sodium fiber carbo
1              Cheerios     G cold      110       6   2    290     2    17
2 Cinnamon Toast Crunch     G cold      120       1   3    210     0    13
3    Cracklin' Oat Bran     K cold      110       3   3    140     4    10
4           Raisin Bran     K cold      120       3   1    210     5    14
  sugars potass vitamins shelf weight cups   rating
1      1    105       25     1   1.00 1.25 50.76500
2      9     45       25     2   1.00 0.75 19.82357
3      7    160       25     3   1.00 0.50 40.44877
4     12    240       25     2   1.33 0.75 39.25920

arrange()

arrange()

We arrange the data set in order of a particular variable.

cereal |> 
  arrange(calories)
                                     name manuf type calories protein fat
1               All-Bran with Extra Fiber     K cold       50       4   0
2                             Puffed Rice     Q cold       50       1   0
3                            Puffed Wheat     Q cold       50       2   0
4                               100% Bran     N cold       70       4   1
5                                All-Bran     K cold       70       4   1
6                          Shredded Wheat     N cold       80       2   0
7                               Bran Chex     R cold       90       2   1
8                             Bran Flakes     P cold       90       3   0
9                       Nutri-grain Wheat     K cold       90       3   0
10                         Raisin Squares     K cold       90       2   0
11                 Shredded Wheat 'n'Bran     N cold       90       3   0
12              Shredded Wheat spoon size     N cold       90       3   0
13                Strawberry Fruit Wheats     N cold       90       2   0
14                            Corn Flakes     K cold      100       2   0
15                 Cream of Wheat (Quick)     N  hot      100       3   0
16                 Crispy Wheat & Raisins     G cold      100       2   1
17                            Double Chex     R cold      100       2   0
18                    Frosted Mini-Wheats     K cold      100       3   0
19                           Golden Crisp     P cold      100       2   0
20                      Grape Nuts Flakes     P cold      100       3   1
21                                   Life     Q cold      100       4   2
22                                  Maypo     A  hot      100       4   1
23                   Multi-Grain Cheerios     G cold      100       2   1
24                             Product 19     K cold      100       3   0
25                     Quaker Oat Squares     Q cold      100       4   1
26                         Quaker Oatmeal     Q  hot      100       5   2
27                        Raisin Nut Bran     G cold      100       3   2
28                      Total Whole Grain     G cold      100       3   1
29                             Wheat Chex     R cold      100       3   1
30                               Wheaties     G cold      100       3   1
31                         Almond Delight     R cold      110       2   2
32                Apple Cinnamon Cheerios     G cold      110       2   2
33                            Apple Jacks     K cold      110       2   0
34                               Cheerios     G cold      110       6   2
35                               Clusters     G cold      110       3   2
36                            Cocoa Puffs     G cold      110       1   1
37                              Corn Chex     R cold      110       2   0
38                              Corn Pops     K cold      110       1   0
39                          Count Chocula     G cold      110       1   1
40                     Cracklin' Oat Bran     K cold      110       3   3
41                                Crispix     K cold      110       2   0
42                            Froot Loops     K cold      110       2   1
43                         Frosted Flakes     K cold      110       1   0
44                         Fruity Pebbles     P cold      110       1   1
45                         Golden Grahams     G cold      110       1   1
46                             Grape-Nuts     P cold      110       3   0
47                     Honey Nut Cheerios     G cold      110       3   1
48                             Honey-comb     P cold      110       1   0
49            Just Right Crunchy  Nuggets     K cold      110       2   1
50                                    Kix     G cold      110       2   1
51                           Lucky Charms     G cold      110       2   1
52                              Rice Chex     R cold      110       1   0
53                          Rice Krispies     K cold      110       2   0
54                                 Smacks     K cold      110       2   1
55                              Special K     K cold      110       6   0
56                      Total Corn Flakes     G cold      110       2   1
57                                Triples     G cold      110       2   1
58                                   Trix     G cold      110       1   1
59                    Wheaties Honey Gold     G cold      110       2   1
60                      100% Natural Bran     Q cold      120       3   5
61                           Cap'n'Crunch     Q cold      120       1   2
62                  Cinnamon Toast Crunch     G cold      120       1   3
63 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
64                          Fruitful Bran     K cold      120       3   0
65                     Great Grains Pecan     P cold      120       3   3
66                       Honey Graham Ohs     Q cold      120       1   2
67                       Nut&Honey Crunch     K cold      120       2   1
68                  Post Nat. Raisin Bran     P cold      120       3   1
69                            Raisin Bran     K cold      120       3   1
70                                Basic 4     G cold      130       3   2
71                   Oatmeal Raisin Crisp     G cold      130       3   2
72                 Just Right Fruit & Nut     K cold      140       3   1
73              Nutri-Grain Almond-Raisin     K cold      140       3   2
74                      Total Raisin Bran     G cold      140       3   1
75       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
76      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
77                   Mueslix Crispy Blend     K cold      160       3   2
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating
1     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491
2       0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611
3       0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565
4     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297
5     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551
6       0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588
7     200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025
8     210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381
9     170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284
10      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314
11      0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295
12      0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179
13     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399
14    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332
15     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382
16    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620
17    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086
18      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514
19     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244
20    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690
21    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807
22      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092
23    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596
24    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354
25    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187
26      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839
27    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340
28    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884
29    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744
30    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219
31    200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484
32    180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954
33    125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409
34    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500
35    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021
36    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645
37    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502
38     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279
39    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651
40    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877
41    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564
42    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758
43    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597
44    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576
45    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404
46    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101
47    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222
48    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241
49    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368
50    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111
51    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451
52    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893
53    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016
54     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005
55    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132
56    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975
57    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617
58    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330
59    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756
60     15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368
61    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285
62    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357
63    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705
64    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549
65     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172
66    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129
67    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429
68    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059
69    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920
70    210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856
71    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084
72    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151
73    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232
74    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278
75     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686
76    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976
77    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335

arrange()

We can arrange by multiple variables.

cereal |> 
  arrange(calories, sugars)
                                     name manuf type calories protein fat
1               All-Bran with Extra Fiber     K cold       50       4   0
2                             Puffed Rice     Q cold       50       1   0
3                            Puffed Wheat     Q cold       50       2   0
4                                All-Bran     K cold       70       4   1
5                               100% Bran     N cold       70       4   1
6                          Shredded Wheat     N cold       80       2   0
7                  Shredded Wheat 'n'Bran     N cold       90       3   0
8               Shredded Wheat spoon size     N cold       90       3   0
9                       Nutri-grain Wheat     K cold       90       3   0
10                            Bran Flakes     P cold       90       3   0
11                Strawberry Fruit Wheats     N cold       90       2   0
12                              Bran Chex     R cold       90       2   1
13                         Raisin Squares     K cold       90       2   0
14                         Quaker Oatmeal     Q  hot      100       5   2
15                 Cream of Wheat (Quick)     N  hot      100       3   0
16                            Corn Flakes     K cold      100       2   0
17                                  Maypo     A  hot      100       4   1
18                             Product 19     K cold      100       3   0
19                      Total Whole Grain     G cold      100       3   1
20                             Wheat Chex     R cold      100       3   1
21                               Wheaties     G cold      100       3   1
22                            Double Chex     R cold      100       2   0
23                      Grape Nuts Flakes     P cold      100       3   1
24                                   Life     Q cold      100       4   2
25                   Multi-Grain Cheerios     G cold      100       2   1
26                     Quaker Oat Squares     Q cold      100       4   1
27                    Frosted Mini-Wheats     K cold      100       3   0
28                        Raisin Nut Bran     G cold      100       3   2
29                 Crispy Wheat & Raisins     G cold      100       2   1
30                           Golden Crisp     P cold      100       2   0
31                               Cheerios     G cold      110       6   2
32                              Rice Chex     R cold      110       1   0
33                              Corn Chex     R cold      110       2   0
34                                Crispix     K cold      110       2   0
35                             Grape-Nuts     P cold      110       3   0
36                                    Kix     G cold      110       2   1
37                          Rice Krispies     K cold      110       2   0
38                              Special K     K cold      110       6   0
39                      Total Corn Flakes     G cold      110       2   1
40                                Triples     G cold      110       2   1
41            Just Right Crunchy  Nuggets     K cold      110       2   1
42                               Clusters     G cold      110       3   2
43                     Cracklin' Oat Bran     K cold      110       3   3
44                         Almond Delight     R cold      110       2   2
45                    Wheaties Honey Gold     G cold      110       2   1
46                         Golden Grahams     G cold      110       1   1
47                Apple Cinnamon Cheerios     G cold      110       2   2
48                     Honey Nut Cheerios     G cold      110       3   1
49                         Frosted Flakes     K cold      110       1   0
50                             Honey-comb     P cold      110       1   0
51                              Corn Pops     K cold      110       1   0
52                         Fruity Pebbles     P cold      110       1   1
53                           Lucky Charms     G cold      110       2   1
54                                   Trix     G cold      110       1   1
55                            Cocoa Puffs     G cold      110       1   1
56                          Count Chocula     G cold      110       1   1
57                            Froot Loops     K cold      110       2   1
58                            Apple Jacks     K cold      110       2   0
59                                 Smacks     K cold      110       2   1
60                     Great Grains Pecan     P cold      120       3   3
61                      100% Natural Bran     Q cold      120       3   5
62                  Cinnamon Toast Crunch     G cold      120       1   3
63                       Nut&Honey Crunch     K cold      120       2   1
64 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
65                       Honey Graham Ohs     Q cold      120       1   2
66                           Cap'n'Crunch     Q cold      120       1   2
67                          Fruitful Bran     K cold      120       3   0
68                            Raisin Bran     K cold      120       3   1
69                  Post Nat. Raisin Bran     P cold      120       3   1
70                                Basic 4     G cold      130       3   2
71                   Oatmeal Raisin Crisp     G cold      130       3   2
72              Nutri-Grain Almond-Raisin     K cold      140       3   2
73                 Just Right Fruit & Nut     K cold      140       3   1
74                      Total Raisin Bran     G cold      140       3   1
75       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
76      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
77                   Mueslix Crispy Blend     K cold      160       3   2
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating
1     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491
2       0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611
3       0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565
4     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551
5     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297
6       0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588
7       0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295
8       0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179
9     170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284
10    210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381
11     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399
12    200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025
13      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314
14      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839
15     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382
16    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332
17      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092
18    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354
19    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884
20    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744
21    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219
22    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086
23    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690
24    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807
25    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596
26    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187
27      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514
28    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340
29    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620
30     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244
31    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500
32    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893
33    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502
34    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564
35    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101
36    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111
37    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016
38    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132
39    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975
40    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617
41    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368
42    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021
43    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877
44    200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484
45    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756
46    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404
47    180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954
48    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222
49    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597
50    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241
51     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279
52    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576
53    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451
54    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330
55    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645
56    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651
57    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758
58    125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409
59     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005
60     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172
61     15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368
62    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357
63    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429
64    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705
65    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129
66    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285
67    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549
68    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920
69    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059
70    210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856
71    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084
72    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232
73    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151
74    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278
75     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686
76    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976
77    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335

arrange(): Descending Order

Default is ascending order!

cereal |> 
  arrange(calories)

Need to add desc() to get descending order!

cereal |> 
  arrange(desc(calories))

slice_max()

cereal |> 
  slice_max(order_by = sugars, n = 3)
                   name manuf type calories protein fat sodium fiber carbo
1          Golden Crisp     P cold      100       2   0     45     0    11
2                Smacks     K cold      110       2   1     70     1     9
3           Apple Jacks     K cold      110       2   0    125     1    11
4 Post Nat. Raisin Bran     P cold      120       3   1    200     6    11
5     Total Raisin Bran     G cold      140       3   1    190     4    15
  sugars potass vitamins shelf weight cups   rating
1     15     40       25     1   1.00 0.88 35.25244
2     15     40       25     2   1.00 0.75 31.23005
3     14     30       25     2   1.00 1.00 33.17409
4     14    260       25     3   1.33 0.67 37.84059
5     14    230      100     3   1.50 1.00 28.59278
cereal |> 
  slice_max(order_by = sugars, n = 3, with_ties = FALSE)

Tip

It is good practice to specify the function arguments!

select()

We select which variables we would like to remain in the dataset.

cereal |> 
  select(name, manuf, calories, cups)
                                     name manuf calories cups
1                               100% Bran     N       70 0.33
2                       100% Natural Bran     Q      120 1.00
3                                All-Bran     K       70 0.33
4               All-Bran with Extra Fiber     K       50 0.50
5                          Almond Delight     R      110 0.75
6                 Apple Cinnamon Cheerios     G      110 0.75
7                             Apple Jacks     K      110 1.00
8                                 Basic 4     G      130 0.75
9                               Bran Chex     R       90 0.67
10                            Bran Flakes     P       90 0.67
11                           Cap'n'Crunch     Q      120 0.75
12                               Cheerios     G      110 1.25
13                  Cinnamon Toast Crunch     G      120 0.75
14                               Clusters     G      110 0.50
15                            Cocoa Puffs     G      110 1.00
16                              Corn Chex     R      110 1.00
17                            Corn Flakes     K      100 1.00
18                              Corn Pops     K      110 1.00
19                          Count Chocula     G      110 1.00
20                     Cracklin' Oat Bran     K      110 0.50
21                 Cream of Wheat (Quick)     N      100 1.00
22                                Crispix     K      110 1.00
23                 Crispy Wheat & Raisins     G      100 0.75
24                            Double Chex     R      100 0.75
25                            Froot Loops     K      110 1.00
26                         Frosted Flakes     K      110 0.75
27                    Frosted Mini-Wheats     K      100 0.80
28 Fruit & Fibre Dates; Walnuts; and Oats     P      120 0.67
29                          Fruitful Bran     K      120 0.67
30                         Fruity Pebbles     P      110 0.75
31                           Golden Crisp     P      100 0.88
32                         Golden Grahams     G      110 0.75
33                      Grape Nuts Flakes     P      100 0.88
34                             Grape-Nuts     P      110 0.25
35                     Great Grains Pecan     P      120 0.33
36                       Honey Graham Ohs     Q      120 1.00
37                     Honey Nut Cheerios     G      110 0.75
38                             Honey-comb     P      110 1.33
39            Just Right Crunchy  Nuggets     K      110 1.00
40                 Just Right Fruit & Nut     K      140 0.75
41                                    Kix     G      110 1.50
42                                   Life     Q      100 0.67
43                           Lucky Charms     G      110 1.00
44                                  Maypo     A      100 1.00
45       Muesli Raisins; Dates; & Almonds     R      150 1.00
46      Muesli Raisins; Peaches; & Pecans     R      150 1.00
47                   Mueslix Crispy Blend     K      160 0.67
48                   Multi-Grain Cheerios     G      100 1.00
49                       Nut&Honey Crunch     K      120 0.67
50              Nutri-Grain Almond-Raisin     K      140 0.67
51                      Nutri-grain Wheat     K       90 1.00
52                   Oatmeal Raisin Crisp     G      130 0.50
53                  Post Nat. Raisin Bran     P      120 0.67
54                             Product 19     K      100 1.00
55                            Puffed Rice     Q       50 1.00
56                           Puffed Wheat     Q       50 1.00
57                     Quaker Oat Squares     Q      100 0.50
58                         Quaker Oatmeal     Q      100 0.67
59                            Raisin Bran     K      120 0.75
60                        Raisin Nut Bran     G      100 0.50
61                         Raisin Squares     K       90 0.50
62                              Rice Chex     R      110 1.13
63                          Rice Krispies     K      110 1.00
64                         Shredded Wheat     N       80 1.00
65                 Shredded Wheat 'n'Bran     N       90 0.67
66              Shredded Wheat spoon size     N       90 0.67
67                                 Smacks     K      110 0.75
68                              Special K     K      110 1.00
69                Strawberry Fruit Wheats     N       90 1.00
70                      Total Corn Flakes     G      110 1.00
71                      Total Raisin Bran     G      140 1.00
72                      Total Whole Grain     G      100 1.00
73                                Triples     G      110 0.75
74                                   Trix     G      110 1.00
75                             Wheat Chex     R      100 0.67
76                               Wheaties     G      100 1.00
77                    Wheaties Honey Gold     G      110 0.75

You can use the : to select a sequence of columns!

cereal |> 
  select(name:calories)
                                     name manuf type calories
1                               100% Bran     N cold       70
2                       100% Natural Bran     Q cold      120
3                                All-Bran     K cold       70
4               All-Bran with Extra Fiber     K cold       50
5                          Almond Delight     R cold      110
6                 Apple Cinnamon Cheerios     G cold      110
7                             Apple Jacks     K cold      110
8                                 Basic 4     G cold      130
9                               Bran Chex     R cold       90
10                            Bran Flakes     P cold       90
11                           Cap'n'Crunch     Q cold      120
12                               Cheerios     G cold      110
13                  Cinnamon Toast Crunch     G cold      120
14                               Clusters     G cold      110
15                            Cocoa Puffs     G cold      110
16                              Corn Chex     R cold      110
17                            Corn Flakes     K cold      100
18                              Corn Pops     K cold      110
19                          Count Chocula     G cold      110
20                     Cracklin' Oat Bran     K cold      110
21                 Cream of Wheat (Quick)     N  hot      100
22                                Crispix     K cold      110
23                 Crispy Wheat & Raisins     G cold      100
24                            Double Chex     R cold      100
25                            Froot Loops     K cold      110
26                         Frosted Flakes     K cold      110
27                    Frosted Mini-Wheats     K cold      100
28 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120
29                          Fruitful Bran     K cold      120
30                         Fruity Pebbles     P cold      110
31                           Golden Crisp     P cold      100
32                         Golden Grahams     G cold      110
33                      Grape Nuts Flakes     P cold      100
34                             Grape-Nuts     P cold      110
35                     Great Grains Pecan     P cold      120
36                       Honey Graham Ohs     Q cold      120
37                     Honey Nut Cheerios     G cold      110
38                             Honey-comb     P cold      110
39            Just Right Crunchy  Nuggets     K cold      110
40                 Just Right Fruit & Nut     K cold      140
41                                    Kix     G cold      110
42                                   Life     Q cold      100
43                           Lucky Charms     G cold      110
44                                  Maypo     A  hot      100
45       Muesli Raisins; Dates; & Almonds     R cold      150
46      Muesli Raisins; Peaches; & Pecans     R cold      150
47                   Mueslix Crispy Blend     K cold      160
48                   Multi-Grain Cheerios     G cold      100
49                       Nut&Honey Crunch     K cold      120
50              Nutri-Grain Almond-Raisin     K cold      140
51                      Nutri-grain Wheat     K cold       90
52                   Oatmeal Raisin Crisp     G cold      130
53                  Post Nat. Raisin Bran     P cold      120
54                             Product 19     K cold      100
55                            Puffed Rice     Q cold       50
56                           Puffed Wheat     Q cold       50
57                     Quaker Oat Squares     Q cold      100
58                         Quaker Oatmeal     Q  hot      100
59                            Raisin Bran     K cold      120
60                        Raisin Nut Bran     G cold      100
61                         Raisin Squares     K cold       90
62                              Rice Chex     R cold      110
63                          Rice Krispies     K cold      110
64                         Shredded Wheat     N cold       80
65                 Shredded Wheat 'n'Bran     N cold       90
66              Shredded Wheat spoon size     N cold       90
67                                 Smacks     K cold      110
68                              Special K     K cold      110
69                Strawberry Fruit Wheats     N cold       90
70                      Total Corn Flakes     G cold      110
71                      Total Raisin Bran     G cold      140
72                      Total Whole Grain     G cold      100
73                                Triples     G cold      110
74                                   Trix     G cold      110
75                             Wheat Chex     R cold      100
76                               Wheaties     G cold      100
77                    Wheaties Honey Gold     G cold      110

select(): Omitting Columns

You can remove columns from the dataset using a -.

cereal |> 
  select(-rating)

select(): Reordering

You can reorder the columns in the dataset inside of select()!

cereal |> 
  select(name, rating, manuf, type, calories, cups, weight, 
         everything())
                                     name   rating manuf type calories cups
1                               100% Bran 68.40297     N cold       70 0.33
2                       100% Natural Bran 33.98368     Q cold      120 1.00
3                                All-Bran 59.42551     K cold       70 0.33
4               All-Bran with Extra Fiber 93.70491     K cold       50 0.50
5                          Almond Delight 34.38484     R cold      110 0.75
6                 Apple Cinnamon Cheerios 29.50954     G cold      110 0.75
7                             Apple Jacks 33.17409     K cold      110 1.00
8                                 Basic 4 37.03856     G cold      130 0.75
9                               Bran Chex 49.12025     R cold       90 0.67
10                            Bran Flakes 53.31381     P cold       90 0.67
11                           Cap'n'Crunch 18.04285     Q cold      120 0.75
12                               Cheerios 50.76500     G cold      110 1.25
13                  Cinnamon Toast Crunch 19.82357     G cold      120 0.75
14                               Clusters 40.40021     G cold      110 0.50
15                            Cocoa Puffs 22.73645     G cold      110 1.00
16                              Corn Chex 41.44502     R cold      110 1.00
17                            Corn Flakes 45.86332     K cold      100 1.00
18                              Corn Pops 35.78279     K cold      110 1.00
19                          Count Chocula 22.39651     G cold      110 1.00
20                     Cracklin' Oat Bran 40.44877     K cold      110 0.50
21                 Cream of Wheat (Quick) 64.53382     N  hot      100 1.00
22                                Crispix 46.89564     K cold      110 1.00
23                 Crispy Wheat & Raisins 36.17620     G cold      100 0.75
24                            Double Chex 44.33086     R cold      100 0.75
25                            Froot Loops 32.20758     K cold      110 1.00
26                         Frosted Flakes 31.43597     K cold      110 0.75
27                    Frosted Mini-Wheats 58.34514     K cold      100 0.80
28 Fruit & Fibre Dates; Walnuts; and Oats 40.91705     P cold      120 0.67
29                          Fruitful Bran 41.01549     K cold      120 0.67
30                         Fruity Pebbles 28.02576     P cold      110 0.75
31                           Golden Crisp 35.25244     P cold      100 0.88
32                         Golden Grahams 23.80404     G cold      110 0.75
33                      Grape Nuts Flakes 52.07690     P cold      100 0.88
34                             Grape-Nuts 53.37101     P cold      110 0.25
35                     Great Grains Pecan 45.81172     P cold      120 0.33
36                       Honey Graham Ohs 21.87129     Q cold      120 1.00
37                     Honey Nut Cheerios 31.07222     G cold      110 0.75
38                             Honey-comb 28.74241     P cold      110 1.33
39            Just Right Crunchy  Nuggets 36.52368     K cold      110 1.00
40                 Just Right Fruit & Nut 36.47151     K cold      140 0.75
41                                    Kix 39.24111     G cold      110 1.50
42                                   Life 45.32807     Q cold      100 0.67
43                           Lucky Charms 26.73451     G cold      110 1.00
44                                  Maypo 54.85092     A  hot      100 1.00
45       Muesli Raisins; Dates; & Almonds 37.13686     R cold      150 1.00
46      Muesli Raisins; Peaches; & Pecans 34.13976     R cold      150 1.00
47                   Mueslix Crispy Blend 30.31335     K cold      160 0.67
48                   Multi-Grain Cheerios 40.10596     G cold      100 1.00
49                       Nut&Honey Crunch 29.92429     K cold      120 0.67
50              Nutri-Grain Almond-Raisin 40.69232     K cold      140 0.67
51                      Nutri-grain Wheat 59.64284     K cold       90 1.00
52                   Oatmeal Raisin Crisp 30.45084     G cold      130 0.50
53                  Post Nat. Raisin Bran 37.84059     P cold      120 0.67
54                             Product 19 41.50354     K cold      100 1.00
55                            Puffed Rice 60.75611     Q cold       50 1.00
56                           Puffed Wheat 63.00565     Q cold       50 1.00
57                     Quaker Oat Squares 49.51187     Q cold      100 0.50
58                         Quaker Oatmeal 50.82839     Q  hot      100 0.67
59                            Raisin Bran 39.25920     K cold      120 0.75
60                        Raisin Nut Bran 39.70340     G cold      100 0.50
61                         Raisin Squares 55.33314     K cold       90 0.50
62                              Rice Chex 41.99893     R cold      110 1.13
63                          Rice Krispies 40.56016     K cold      110 1.00
64                         Shredded Wheat 68.23588     N cold       80 1.00
65                 Shredded Wheat 'n'Bran 74.47295     N cold       90 0.67
66              Shredded Wheat spoon size 72.80179     N cold       90 0.67
67                                 Smacks 31.23005     K cold      110 0.75
68                              Special K 53.13132     K cold      110 1.00
69                Strawberry Fruit Wheats 59.36399     N cold       90 1.00
70                      Total Corn Flakes 38.83975     G cold      110 1.00
71                      Total Raisin Bran 28.59278     G cold      140 1.00
72                      Total Whole Grain 46.65884     G cold      100 1.00
73                                Triples 39.10617     G cold      110 0.75
74                                   Trix 27.75330     G cold      110 1.00
75                             Wheat Chex 49.78744     R cold      100 0.67
76                               Wheaties 51.59219     G cold      100 1.00
77                    Wheaties Honey Gold 36.18756     G cold      110 0.75
   weight protein fat sodium fiber carbo sugars potass vitamins shelf
1    1.00       4   1    130  10.0   5.0      6    280       25     3
2    1.00       3   5     15   2.0   8.0      8    135        0     3
3    1.00       4   1    260   9.0   7.0      5    320       25     3
4    1.00       4   0    140  14.0   8.0      0    330       25     3
5    1.00       2   2    200   1.0  14.0      8     -1       25     3
6    1.00       2   2    180   1.5  10.5     10     70       25     1
7    1.00       2   0    125   1.0  11.0     14     30       25     2
8    1.33       3   2    210   2.0  18.0      8    100       25     3
9    1.00       2   1    200   4.0  15.0      6    125       25     1
10   1.00       3   0    210   5.0  13.0      5    190       25     3
11   1.00       1   2    220   0.0  12.0     12     35       25     2
12   1.00       6   2    290   2.0  17.0      1    105       25     1
13   1.00       1   3    210   0.0  13.0      9     45       25     2
14   1.00       3   2    140   2.0  13.0      7    105       25     3
15   1.00       1   1    180   0.0  12.0     13     55       25     2
16   1.00       2   0    280   0.0  22.0      3     25       25     1
17   1.00       2   0    290   1.0  21.0      2     35       25     1
18   1.00       1   0     90   1.0  13.0     12     20       25     2
19   1.00       1   1    180   0.0  12.0     13     65       25     2
20   1.00       3   3    140   4.0  10.0      7    160       25     3
21   1.00       3   0     80   1.0  21.0      0     -1        0     2
22   1.00       2   0    220   1.0  21.0      3     30       25     3
23   1.00       2   1    140   2.0  11.0     10    120       25     3
24   1.00       2   0    190   1.0  18.0      5     80       25     3
25   1.00       2   1    125   1.0  11.0     13     30       25     2
26   1.00       1   0    200   1.0  14.0     11     25       25     1
27   1.00       3   0      0   3.0  14.0      7    100       25     2
28   1.25       3   2    160   5.0  12.0     10    200       25     3
29   1.33       3   0    240   5.0  14.0     12    190       25     3
30   1.00       1   1    135   0.0  13.0     12     25       25     2
31   1.00       2   0     45   0.0  11.0     15     40       25     1
32   1.00       1   1    280   0.0  15.0      9     45       25     2
33   1.00       3   1    140   3.0  15.0      5     85       25     3
34   1.00       3   0    170   3.0  17.0      3     90       25     3
35   1.00       3   3     75   3.0  13.0      4    100       25     3
36   1.00       1   2    220   1.0  12.0     11     45       25     2
37   1.00       3   1    250   1.5  11.5     10     90       25     1
38   1.00       1   0    180   0.0  14.0     11     35       25     1
39   1.00       2   1    170   1.0  17.0      6     60      100     3
40   1.30       3   1    170   2.0  20.0      9     95      100     3
41   1.00       2   1    260   0.0  21.0      3     40       25     2
42   1.00       4   2    150   2.0  12.0      6     95       25     2
43   1.00       2   1    180   0.0  12.0     12     55       25     2
44   1.00       4   1      0   0.0  16.0      3     95       25     2
45   1.00       4   3     95   3.0  16.0     11    170       25     3
46   1.00       4   3    150   3.0  16.0     11    170       25     3
47   1.50       3   2    150   3.0  17.0     13    160       25     3
48   1.00       2   1    220   2.0  15.0      6     90       25     1
49   1.00       2   1    190   0.0  15.0      9     40       25     2
50   1.33       3   2    220   3.0  21.0      7    130       25     3
51   1.00       3   0    170   3.0  18.0      2     90       25     3
52   1.25       3   2    170   1.5  13.5     10    120       25     3
53   1.33       3   1    200   6.0  11.0     14    260       25     3
54   1.00       3   0    320   1.0  20.0      3     45      100     3
55   0.50       1   0      0   0.0  13.0      0     15        0     3
56   0.50       2   0      0   1.0  10.0      0     50        0     3
57   1.00       4   1    135   2.0  14.0      6    110       25     3
58   1.00       5   2      0   2.7  -1.0     -1    110        0     1
59   1.33       3   1    210   5.0  14.0     12    240       25     2
60   1.00       3   2    140   2.5  10.5      8    140       25     3
61   1.00       2   0      0   2.0  15.0      6    110       25     3
62   1.00       1   0    240   0.0  23.0      2     30       25     1
63   1.00       2   0    290   0.0  22.0      3     35       25     1
64   0.83       2   0      0   3.0  16.0      0     95        0     1
65   1.00       3   0      0   4.0  19.0      0    140        0     1
66   1.00       3   0      0   3.0  20.0      0    120        0     1
67   1.00       2   1     70   1.0   9.0     15     40       25     2
68   1.00       6   0    230   1.0  16.0      3     55       25     1
69   1.00       2   0     15   3.0  15.0      5     90       25     2
70   1.00       2   1    200   0.0  21.0      3     35      100     3
71   1.50       3   1    190   4.0  15.0     14    230      100     3
72   1.00       3   1    200   3.0  16.0      3    110      100     3
73   1.00       2   1    250   0.0  21.0      3     60       25     3
74   1.00       1   1    140   0.0  13.0     12     25       25     2
75   1.00       3   1    230   3.0  17.0      3    115       25     1
76   1.00       3   1    200   3.0  17.0      3    110       25     1
77   1.00       2   1    200   1.0  16.0      8     60       25     1

select(): Handy Helpers!

  • everything()
  • starts_with()
  • ends_with()
  • contains()

rename()

  • You can use select() to rename, but all columns not included will be deleted!
    • Using the rename() function is easier!
cereal |> 
  rename(temp = type)
                                     name manuf temp calories protein fat
1                               100% Bran     N cold       70       4   1
2                       100% Natural Bran     Q cold      120       3   5
3                                All-Bran     K cold       70       4   1
4               All-Bran with Extra Fiber     K cold       50       4   0
5                          Almond Delight     R cold      110       2   2
6                 Apple Cinnamon Cheerios     G cold      110       2   2
7                             Apple Jacks     K cold      110       2   0
8                                 Basic 4     G cold      130       3   2
9                               Bran Chex     R cold       90       2   1
10                            Bran Flakes     P cold       90       3   0
11                           Cap'n'Crunch     Q cold      120       1   2
12                               Cheerios     G cold      110       6   2
13                  Cinnamon Toast Crunch     G cold      120       1   3
14                               Clusters     G cold      110       3   2
15                            Cocoa Puffs     G cold      110       1   1
16                              Corn Chex     R cold      110       2   0
17                            Corn Flakes     K cold      100       2   0
18                              Corn Pops     K cold      110       1   0
19                          Count Chocula     G cold      110       1   1
20                     Cracklin' Oat Bran     K cold      110       3   3
21                 Cream of Wheat (Quick)     N  hot      100       3   0
22                                Crispix     K cold      110       2   0
23                 Crispy Wheat & Raisins     G cold      100       2   1
24                            Double Chex     R cold      100       2   0
25                            Froot Loops     K cold      110       2   1
26                         Frosted Flakes     K cold      110       1   0
27                    Frosted Mini-Wheats     K cold      100       3   0
28 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
29                          Fruitful Bran     K cold      120       3   0
30                         Fruity Pebbles     P cold      110       1   1
31                           Golden Crisp     P cold      100       2   0
32                         Golden Grahams     G cold      110       1   1
33                      Grape Nuts Flakes     P cold      100       3   1
34                             Grape-Nuts     P cold      110       3   0
35                     Great Grains Pecan     P cold      120       3   3
36                       Honey Graham Ohs     Q cold      120       1   2
37                     Honey Nut Cheerios     G cold      110       3   1
38                             Honey-comb     P cold      110       1   0
39            Just Right Crunchy  Nuggets     K cold      110       2   1
40                 Just Right Fruit & Nut     K cold      140       3   1
41                                    Kix     G cold      110       2   1
42                                   Life     Q cold      100       4   2
43                           Lucky Charms     G cold      110       2   1
44                                  Maypo     A  hot      100       4   1
45       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
46      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
47                   Mueslix Crispy Blend     K cold      160       3   2
48                   Multi-Grain Cheerios     G cold      100       2   1
49                       Nut&Honey Crunch     K cold      120       2   1
50              Nutri-Grain Almond-Raisin     K cold      140       3   2
51                      Nutri-grain Wheat     K cold       90       3   0
52                   Oatmeal Raisin Crisp     G cold      130       3   2
53                  Post Nat. Raisin Bran     P cold      120       3   1
54                             Product 19     K cold      100       3   0
55                            Puffed Rice     Q cold       50       1   0
56                           Puffed Wheat     Q cold       50       2   0
57                     Quaker Oat Squares     Q cold      100       4   1
58                         Quaker Oatmeal     Q  hot      100       5   2
59                            Raisin Bran     K cold      120       3   1
60                        Raisin Nut Bran     G cold      100       3   2
61                         Raisin Squares     K cold       90       2   0
62                              Rice Chex     R cold      110       1   0
63                          Rice Krispies     K cold      110       2   0
64                         Shredded Wheat     N cold       80       2   0
65                 Shredded Wheat 'n'Bran     N cold       90       3   0
66              Shredded Wheat spoon size     N cold       90       3   0
67                                 Smacks     K cold      110       2   1
68                              Special K     K cold      110       6   0
69                Strawberry Fruit Wheats     N cold       90       2   0
70                      Total Corn Flakes     G cold      110       2   1
71                      Total Raisin Bran     G cold      140       3   1
72                      Total Whole Grain     G cold      100       3   1
73                                Triples     G cold      110       2   1
74                                   Trix     G cold      110       1   1
75                             Wheat Chex     R cold      100       3   1
76                               Wheaties     G cold      100       3   1
77                    Wheaties Honey Gold     G cold      110       2   1
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating
1     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297
2      15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368
3     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551
4     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491
5     200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484
6     180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954
7     125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409
8     210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856
9     200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025
10    210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381
11    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285
12    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500
13    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357
14    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021
15    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645
16    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502
17    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332
18     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279
19    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651
20    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877
21     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382
22    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564
23    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620
24    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086
25    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758
26    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597
27      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514
28    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705
29    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549
30    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576
31     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244
32    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404
33    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690
34    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101
35     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172
36    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129
37    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222
38    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241
39    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368
40    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151
41    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111
42    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807
43    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451
44      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092
45     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686
46    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976
47    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335
48    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596
49    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429
50    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232
51    170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284
52    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084
53    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059
54    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354
55      0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611
56      0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565
57    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187
58      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839
59    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920
60    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340
61      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314
62    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893
63    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016
64      0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588
65      0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295
66      0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179
67     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005
68    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132
69     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399
70    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975
71    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278
72    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884
73    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617
74    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330
75    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744
76    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219
77    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756

mutate()

Mutate (by Allison Horst)

mutate()

The data set gets mutated to either

include a new variable

cereal |> 
  mutate(cal_per_cup = calories / cups)

revise an existing variable

cereal |> 
  mutate(shelf = as.factor(shelf))

mutate(): Handy Helpers!

  • if_else() or case_when()
  • as.factor(), as.numeric(), etc.
  • +, -, *, /
  • %%

group_by()

The ungroup() command is just as important as the group_by() command! (by Allison Horst)

group_by()

Separating a categorical variable into its different levels.

cereal |> 
  group_by(type)
# A tibble: 77 × 16
# Groups:   type [2]
   name       manuf type  calor…¹ protein   fat sodium fiber carbo sugars potass
   <fct>      <fct> <fct>   <int>   <int> <int>  <int> <dbl> <dbl>  <int>  <int>
 1 100% Bran  N     cold       70       4     1    130  10     5        6    280
 2 100% Natu… Q     cold      120       3     5     15   2     8        8    135
 3 All-Bran   K     cold       70       4     1    260   9     7        5    320
 4 All-Bran … K     cold       50       4     0    140  14     8        0    330
 5 Almond De… R     cold      110       2     2    200   1    14        8     -1
 6 Apple Cin… G     cold      110       2     2    180   1.5  10.5     10     70
 7 Apple Jac… K     cold      110       2     0    125   1    11       14     30
 8 Basic 4    G     cold      130       3     2    210   2    18        8    100
 9 Bran Chex  R     cold       90       2     1    200   4    15        6    125
10 Bran Flak… P     cold       90       3     0    210   5    13        5    190
# … with 67 more rows, 5 more variables: vitamins <int>, shelf <int>,
#   weight <dbl>, cups <dbl>, rating <dbl>, and abbreviated variable name
#   ¹​calories

summarize()

group_by() is almost always paired with summarize()!

summarize()

We calculate different summaries of variables in the data set.

cereal |> 
  summarise(mean_calories = mean(calories))
  mean_calories
1      106.8831

Or multiple summaries.

cereal |> 
summarise(mean_calories = mean(calories),
          num_cereals = n(),
          mean_sugar = mean(sugars)
          )
  mean_calories num_cereals mean_sugar
1      106.8831          77   6.922078

group_by() + summarize() = Power!

cereal |> 
  group_by(manuf) |> 
  summarise(mean_calories = mean(calories))
# A tibble: 7 × 2
  manuf mean_calories
  <fct>         <dbl>
1 A             100  
2 G             111. 
3 K             109. 
4 N              86.7
5 P             109. 
6 Q              95  
7 R             115  

summarize(): Handy Helpers!

  • mean(), median(), sd(), sum()
  • n(), n_distinct()
  • min(), max()
  • first(), last(), nth()
  • across()

Glue it all together!

cereal |> 
  filter(type == type) |> 
  mutate(cal_per_cup = calories / cups) |> 
  group_by(manuf) |> 
  summarise(mean_cal_per_cup = mean(cal_per_cup))
# A tibble: 7 × 2
  manuf mean_cal_per_cup
  <fct>            <dbl>
1 A                 100 
2 G                 138.
3 K                 145.
4 N                 125.
5 P                 195.
6 Q                 125.
7 R                 134.

Save your changes!

When you make these changes, make sure you are assigning them to a data set!

cereal_summary <- cereal |> 
  filter(type == type) |> 
  mutate(cal_per_cup = calories / cups) |> 
  group_by(manuf) |> 
  summarise(mean_cal_per_cup = mean(cal_per_cup))

Formatting your code

cereal |> group_by(type) |> summarise(mean_calories = mean(calories), num_cereals = n(), mean_sugar = mean(sugars))
cereal |> 
  group_by(type) |> 
  summarise(mean_calories = mean(calories), 
            num_cereals = n(),
            mean_sugar = mean(sugars)
            )

PA 3: Identify the Mystery College

Today you will be using the dplyr package to clean a data set and then using that cleaned data set to figure out what college Ephelia has been accepted to.

Submit the full name of the college Ephelia will attend to the Canvas Quiz.

To do…

  • PA 3: Identify the Mystery College
    • Due Wednesday 1/25 at 8:00am

Wednesday, January 25th

Today we will…

  • Review PA 3: Identify the Mystery College
  • Extending dplyr verbs
    • across()
    • if_else()
  • Implication of Data Ethics
  • Lab 3: Hip Hop Lyrics
  • Challenge 3: Published Comparisons & Data Ethics

across()

cereal |> 
  group_by(type) |> 
  summarise(across(.cols = calories:potass, .fns = mean))
# A tibble: 2 × 9
  type  calories protein   fat sodium fiber carbo sugars potass
  <fct>    <dbl>   <dbl> <dbl>  <dbl> <dbl> <dbl>  <dbl>  <dbl>
1 cold      107.    2.49  1.01  165.   2.19  14.7  7.18    97.2
2 hot       100     4     1      26.7  1.23  12    0.667   68  

Discritize with if_else()

cereal |> 
  mutate(low_cal = if_else(calories < 100, "low", "high"))
                                     name manuf type calories protein fat
1                               100% Bran     N cold       70       4   1
2                       100% Natural Bran     Q cold      120       3   5
3                                All-Bran     K cold       70       4   1
4               All-Bran with Extra Fiber     K cold       50       4   0
5                          Almond Delight     R cold      110       2   2
6                 Apple Cinnamon Cheerios     G cold      110       2   2
7                             Apple Jacks     K cold      110       2   0
8                                 Basic 4     G cold      130       3   2
9                               Bran Chex     R cold       90       2   1
10                            Bran Flakes     P cold       90       3   0
11                           Cap'n'Crunch     Q cold      120       1   2
12                               Cheerios     G cold      110       6   2
13                  Cinnamon Toast Crunch     G cold      120       1   3
14                               Clusters     G cold      110       3   2
15                            Cocoa Puffs     G cold      110       1   1
16                              Corn Chex     R cold      110       2   0
17                            Corn Flakes     K cold      100       2   0
18                              Corn Pops     K cold      110       1   0
19                          Count Chocula     G cold      110       1   1
20                     Cracklin' Oat Bran     K cold      110       3   3
21                 Cream of Wheat (Quick)     N  hot      100       3   0
22                                Crispix     K cold      110       2   0
23                 Crispy Wheat & Raisins     G cold      100       2   1
24                            Double Chex     R cold      100       2   0
25                            Froot Loops     K cold      110       2   1
26                         Frosted Flakes     K cold      110       1   0
27                    Frosted Mini-Wheats     K cold      100       3   0
28 Fruit & Fibre Dates; Walnuts; and Oats     P cold      120       3   2
29                          Fruitful Bran     K cold      120       3   0
30                         Fruity Pebbles     P cold      110       1   1
31                           Golden Crisp     P cold      100       2   0
32                         Golden Grahams     G cold      110       1   1
33                      Grape Nuts Flakes     P cold      100       3   1
34                             Grape-Nuts     P cold      110       3   0
35                     Great Grains Pecan     P cold      120       3   3
36                       Honey Graham Ohs     Q cold      120       1   2
37                     Honey Nut Cheerios     G cold      110       3   1
38                             Honey-comb     P cold      110       1   0
39            Just Right Crunchy  Nuggets     K cold      110       2   1
40                 Just Right Fruit & Nut     K cold      140       3   1
41                                    Kix     G cold      110       2   1
42                                   Life     Q cold      100       4   2
43                           Lucky Charms     G cold      110       2   1
44                                  Maypo     A  hot      100       4   1
45       Muesli Raisins; Dates; & Almonds     R cold      150       4   3
46      Muesli Raisins; Peaches; & Pecans     R cold      150       4   3
47                   Mueslix Crispy Blend     K cold      160       3   2
48                   Multi-Grain Cheerios     G cold      100       2   1
49                       Nut&Honey Crunch     K cold      120       2   1
50              Nutri-Grain Almond-Raisin     K cold      140       3   2
51                      Nutri-grain Wheat     K cold       90       3   0
52                   Oatmeal Raisin Crisp     G cold      130       3   2
53                  Post Nat. Raisin Bran     P cold      120       3   1
54                             Product 19     K cold      100       3   0
55                            Puffed Rice     Q cold       50       1   0
56                           Puffed Wheat     Q cold       50       2   0
57                     Quaker Oat Squares     Q cold      100       4   1
58                         Quaker Oatmeal     Q  hot      100       5   2
59                            Raisin Bran     K cold      120       3   1
60                        Raisin Nut Bran     G cold      100       3   2
61                         Raisin Squares     K cold       90       2   0
62                              Rice Chex     R cold      110       1   0
63                          Rice Krispies     K cold      110       2   0
64                         Shredded Wheat     N cold       80       2   0
65                 Shredded Wheat 'n'Bran     N cold       90       3   0
66              Shredded Wheat spoon size     N cold       90       3   0
67                                 Smacks     K cold      110       2   1
68                              Special K     K cold      110       6   0
69                Strawberry Fruit Wheats     N cold       90       2   0
70                      Total Corn Flakes     G cold      110       2   1
71                      Total Raisin Bran     G cold      140       3   1
72                      Total Whole Grain     G cold      100       3   1
73                                Triples     G cold      110       2   1
74                                   Trix     G cold      110       1   1
75                             Wheat Chex     R cold      100       3   1
76                               Wheaties     G cold      100       3   1
77                    Wheaties Honey Gold     G cold      110       2   1
   sodium fiber carbo sugars potass vitamins shelf weight cups   rating low_cal
1     130  10.0   5.0      6    280       25     3   1.00 0.33 68.40297     low
2      15   2.0   8.0      8    135        0     3   1.00 1.00 33.98368    high
3     260   9.0   7.0      5    320       25     3   1.00 0.33 59.42551     low
4     140  14.0   8.0      0    330       25     3   1.00 0.50 93.70491     low
5     200   1.0  14.0      8     -1       25     3   1.00 0.75 34.38484    high
6     180   1.5  10.5     10     70       25     1   1.00 0.75 29.50954    high
7     125   1.0  11.0     14     30       25     2   1.00 1.00 33.17409    high
8     210   2.0  18.0      8    100       25     3   1.33 0.75 37.03856    high
9     200   4.0  15.0      6    125       25     1   1.00 0.67 49.12025     low
10    210   5.0  13.0      5    190       25     3   1.00 0.67 53.31381     low
11    220   0.0  12.0     12     35       25     2   1.00 0.75 18.04285    high
12    290   2.0  17.0      1    105       25     1   1.00 1.25 50.76500    high
13    210   0.0  13.0      9     45       25     2   1.00 0.75 19.82357    high
14    140   2.0  13.0      7    105       25     3   1.00 0.50 40.40021    high
15    180   0.0  12.0     13     55       25     2   1.00 1.00 22.73645    high
16    280   0.0  22.0      3     25       25     1   1.00 1.00 41.44502    high
17    290   1.0  21.0      2     35       25     1   1.00 1.00 45.86332    high
18     90   1.0  13.0     12     20       25     2   1.00 1.00 35.78279    high
19    180   0.0  12.0     13     65       25     2   1.00 1.00 22.39651    high
20    140   4.0  10.0      7    160       25     3   1.00 0.50 40.44877    high
21     80   1.0  21.0      0     -1        0     2   1.00 1.00 64.53382    high
22    220   1.0  21.0      3     30       25     3   1.00 1.00 46.89564    high
23    140   2.0  11.0     10    120       25     3   1.00 0.75 36.17620    high
24    190   1.0  18.0      5     80       25     3   1.00 0.75 44.33086    high
25    125   1.0  11.0     13     30       25     2   1.00 1.00 32.20758    high
26    200   1.0  14.0     11     25       25     1   1.00 0.75 31.43597    high
27      0   3.0  14.0      7    100       25     2   1.00 0.80 58.34514    high
28    160   5.0  12.0     10    200       25     3   1.25 0.67 40.91705    high
29    240   5.0  14.0     12    190       25     3   1.33 0.67 41.01549    high
30    135   0.0  13.0     12     25       25     2   1.00 0.75 28.02576    high
31     45   0.0  11.0     15     40       25     1   1.00 0.88 35.25244    high
32    280   0.0  15.0      9     45       25     2   1.00 0.75 23.80404    high
33    140   3.0  15.0      5     85       25     3   1.00 0.88 52.07690    high
34    170   3.0  17.0      3     90       25     3   1.00 0.25 53.37101    high
35     75   3.0  13.0      4    100       25     3   1.00 0.33 45.81172    high
36    220   1.0  12.0     11     45       25     2   1.00 1.00 21.87129    high
37    250   1.5  11.5     10     90       25     1   1.00 0.75 31.07222    high
38    180   0.0  14.0     11     35       25     1   1.00 1.33 28.74241    high
39    170   1.0  17.0      6     60      100     3   1.00 1.00 36.52368    high
40    170   2.0  20.0      9     95      100     3   1.30 0.75 36.47151    high
41    260   0.0  21.0      3     40       25     2   1.00 1.50 39.24111    high
42    150   2.0  12.0      6     95       25     2   1.00 0.67 45.32807    high
43    180   0.0  12.0     12     55       25     2   1.00 1.00 26.73451    high
44      0   0.0  16.0      3     95       25     2   1.00 1.00 54.85092    high
45     95   3.0  16.0     11    170       25     3   1.00 1.00 37.13686    high
46    150   3.0  16.0     11    170       25     3   1.00 1.00 34.13976    high
47    150   3.0  17.0     13    160       25     3   1.50 0.67 30.31335    high
48    220   2.0  15.0      6     90       25     1   1.00 1.00 40.10596    high
49    190   0.0  15.0      9     40       25     2   1.00 0.67 29.92429    high
50    220   3.0  21.0      7    130       25     3   1.33 0.67 40.69232    high
51    170   3.0  18.0      2     90       25     3   1.00 1.00 59.64284     low
52    170   1.5  13.5     10    120       25     3   1.25 0.50 30.45084    high
53    200   6.0  11.0     14    260       25     3   1.33 0.67 37.84059    high
54    320   1.0  20.0      3     45      100     3   1.00 1.00 41.50354    high
55      0   0.0  13.0      0     15        0     3   0.50 1.00 60.75611     low
56      0   1.0  10.0      0     50        0     3   0.50 1.00 63.00565     low
57    135   2.0  14.0      6    110       25     3   1.00 0.50 49.51187    high
58      0   2.7  -1.0     -1    110        0     1   1.00 0.67 50.82839    high
59    210   5.0  14.0     12    240       25     2   1.33 0.75 39.25920    high
60    140   2.5  10.5      8    140       25     3   1.00 0.50 39.70340    high
61      0   2.0  15.0      6    110       25     3   1.00 0.50 55.33314     low
62    240   0.0  23.0      2     30       25     1   1.00 1.13 41.99893    high
63    290   0.0  22.0      3     35       25     1   1.00 1.00 40.56016    high
64      0   3.0  16.0      0     95        0     1   0.83 1.00 68.23588     low
65      0   4.0  19.0      0    140        0     1   1.00 0.67 74.47295     low
66      0   3.0  20.0      0    120        0     1   1.00 0.67 72.80179     low
67     70   1.0   9.0     15     40       25     2   1.00 0.75 31.23005    high
68    230   1.0  16.0      3     55       25     1   1.00 1.00 53.13132    high
69     15   3.0  15.0      5     90       25     2   1.00 1.00 59.36399     low
70    200   0.0  21.0      3     35      100     3   1.00 1.00 38.83975    high
71    190   4.0  15.0     14    230      100     3   1.50 1.00 28.59278    high
72    200   3.0  16.0      3    110      100     3   1.00 1.00 46.65884    high
73    250   0.0  21.0      3     60       25     3   1.00 0.75 39.10617    high
74    140   0.0  13.0     12     25       25     2   1.00 1.00 27.75330    high
75    230   3.0  17.0      3    115       25     1   1.00 0.67 49.78744    high
76    200   3.0  17.0      3    110       25     1   1.00 1.00 51.59219    high
77    200   1.0  16.0      8     60       25     1   1.00 0.75 36.18756    high

Re-leveling with case_when()

cereal |> 
  mutate(manuf = case_when(manuf == "A" ~ "American Home Food Products", 
                           manuf == "G" ~ "General Mills", 
                           manuf == "K" ~ "Kelloggs", 
                           manuf == "N" ~ "Nabisco", 
                           manuf == "P" ~ "Post", 
                           manuf == "Q" ~ "Quaker Oats", 
                           manuf == "R" ~ "Ralston Purina"
                           )
  )
                                     name                       manuf type
1                               100% Bran                     Nabisco cold
2                       100% Natural Bran                 Quaker Oats cold
3                                All-Bran                    Kelloggs cold
4               All-Bran with Extra Fiber                    Kelloggs cold
5                          Almond Delight              Ralston Purina cold
6                 Apple Cinnamon Cheerios               General Mills cold
7                             Apple Jacks                    Kelloggs cold
8                                 Basic 4               General Mills cold
9                               Bran Chex              Ralston Purina cold
10                            Bran Flakes                        Post cold
11                           Cap'n'Crunch                 Quaker Oats cold
12                               Cheerios               General Mills cold
13                  Cinnamon Toast Crunch               General Mills cold
14                               Clusters               General Mills cold
15                            Cocoa Puffs               General Mills cold
16                              Corn Chex              Ralston Purina cold
17                            Corn Flakes                    Kelloggs cold
18                              Corn Pops                    Kelloggs cold
19                          Count Chocula               General Mills cold
20                     Cracklin' Oat Bran                    Kelloggs cold
21                 Cream of Wheat (Quick)                     Nabisco  hot
22                                Crispix                    Kelloggs cold
23                 Crispy Wheat & Raisins               General Mills cold
24                            Double Chex              Ralston Purina cold
25                            Froot Loops                    Kelloggs cold
26                         Frosted Flakes                    Kelloggs cold
27                    Frosted Mini-Wheats                    Kelloggs cold
28 Fruit & Fibre Dates; Walnuts; and Oats                        Post cold
29                          Fruitful Bran                    Kelloggs cold
30                         Fruity Pebbles                        Post cold
31                           Golden Crisp                        Post cold
32                         Golden Grahams               General Mills cold
33                      Grape Nuts Flakes                        Post cold
34                             Grape-Nuts                        Post cold
35                     Great Grains Pecan                        Post cold
36                       Honey Graham Ohs                 Quaker Oats cold
37                     Honey Nut Cheerios               General Mills cold
38                             Honey-comb                        Post cold
39            Just Right Crunchy  Nuggets                    Kelloggs cold
40                 Just Right Fruit & Nut                    Kelloggs cold
41                                    Kix               General Mills cold
42                                   Life                 Quaker Oats cold
43                           Lucky Charms               General Mills cold
44                                  Maypo American Home Food Products  hot
45       Muesli Raisins; Dates; & Almonds              Ralston Purina cold
46      Muesli Raisins; Peaches; & Pecans              Ralston Purina cold
47                   Mueslix Crispy Blend                    Kelloggs cold
48                   Multi-Grain Cheerios               General Mills cold
49                       Nut&Honey Crunch                    Kelloggs cold
50              Nutri-Grain Almond-Raisin                    Kelloggs cold
51                      Nutri-grain Wheat                    Kelloggs cold
52                   Oatmeal Raisin Crisp               General Mills cold
53                  Post Nat. Raisin Bran                        Post cold
54                             Product 19                    Kelloggs cold
55                            Puffed Rice                 Quaker Oats cold
56                           Puffed Wheat                 Quaker Oats cold
57                     Quaker Oat Squares                 Quaker Oats cold
58                         Quaker Oatmeal                 Quaker Oats  hot
59                            Raisin Bran                    Kelloggs cold
60                        Raisin Nut Bran               General Mills cold
61                         Raisin Squares                    Kelloggs cold
62                              Rice Chex              Ralston Purina cold
63                          Rice Krispies                    Kelloggs cold
64                         Shredded Wheat                     Nabisco cold
65                 Shredded Wheat 'n'Bran                     Nabisco cold
66              Shredded Wheat spoon size                     Nabisco cold
67                                 Smacks                    Kelloggs cold
68                              Special K                    Kelloggs cold
69                Strawberry Fruit Wheats                     Nabisco cold
70                      Total Corn Flakes               General Mills cold
71                      Total Raisin Bran               General Mills cold
72                      Total Whole Grain               General Mills cold
73                                Triples               General Mills cold
74                                   Trix               General Mills cold
75                             Wheat Chex              Ralston Purina cold
76                               Wheaties               General Mills cold
77                    Wheaties Honey Gold               General Mills cold
   calories protein fat sodium fiber carbo sugars potass vitamins shelf weight
1        70       4   1    130  10.0   5.0      6    280       25     3   1.00
2       120       3   5     15   2.0   8.0      8    135        0     3   1.00
3        70       4   1    260   9.0   7.0      5    320       25     3   1.00
4        50       4   0    140  14.0   8.0      0    330       25     3   1.00
5       110       2   2    200   1.0  14.0      8     -1       25     3   1.00
6       110       2   2    180   1.5  10.5     10     70       25     1   1.00
7       110       2   0    125   1.0  11.0     14     30       25     2   1.00
8       130       3   2    210   2.0  18.0      8    100       25     3   1.33
9        90       2   1    200   4.0  15.0      6    125       25     1   1.00
10       90       3   0    210   5.0  13.0      5    190       25     3   1.00
11      120       1   2    220   0.0  12.0     12     35       25     2   1.00
12      110       6   2    290   2.0  17.0      1    105       25     1   1.00
13      120       1   3    210   0.0  13.0      9     45       25     2   1.00
14      110       3   2    140   2.0  13.0      7    105       25     3   1.00
15      110       1   1    180   0.0  12.0     13     55       25     2   1.00
16      110       2   0    280   0.0  22.0      3     25       25     1   1.00
17      100       2   0    290   1.0  21.0      2     35       25     1   1.00
18      110       1   0     90   1.0  13.0     12     20       25     2   1.00
19      110       1   1    180   0.0  12.0     13     65       25     2   1.00
20      110       3   3    140   4.0  10.0      7    160       25     3   1.00
21      100       3   0     80   1.0  21.0      0     -1        0     2   1.00
22      110       2   0    220   1.0  21.0      3     30       25     3   1.00
23      100       2   1    140   2.0  11.0     10    120       25     3   1.00
24      100       2   0    190   1.0  18.0      5     80       25     3   1.00
25      110       2   1    125   1.0  11.0     13     30       25     2   1.00
26      110       1   0    200   1.0  14.0     11     25       25     1   1.00
27      100       3   0      0   3.0  14.0      7    100       25     2   1.00
28      120       3   2    160   5.0  12.0     10    200       25     3   1.25
29      120       3   0    240   5.0  14.0     12    190       25     3   1.33
30      110       1   1    135   0.0  13.0     12     25       25     2   1.00
31      100       2   0     45   0.0  11.0     15     40       25     1   1.00
32      110       1   1    280   0.0  15.0      9     45       25     2   1.00
33      100       3   1    140   3.0  15.0      5     85       25     3   1.00
34      110       3   0    170   3.0  17.0      3     90       25     3   1.00
35      120       3   3     75   3.0  13.0      4    100       25     3   1.00
36      120       1   2    220   1.0  12.0     11     45       25     2   1.00
37      110       3   1    250   1.5  11.5     10     90       25     1   1.00
38      110       1   0    180   0.0  14.0     11     35       25     1   1.00
39      110       2   1    170   1.0  17.0      6     60      100     3   1.00
40      140       3   1    170   2.0  20.0      9     95      100     3   1.30
41      110       2   1    260   0.0  21.0      3     40       25     2   1.00
42      100       4   2    150   2.0  12.0      6     95       25     2   1.00
43      110       2   1    180   0.0  12.0     12     55       25     2   1.00
44      100       4   1      0   0.0  16.0      3     95       25     2   1.00
45      150       4   3     95   3.0  16.0     11    170       25     3   1.00
46      150       4   3    150   3.0  16.0     11    170       25     3   1.00
47      160       3   2    150   3.0  17.0     13    160       25     3   1.50
48      100       2   1    220   2.0  15.0      6     90       25     1   1.00
49      120       2   1    190   0.0  15.0      9     40       25     2   1.00
50      140       3   2    220   3.0  21.0      7    130       25     3   1.33
51       90       3   0    170   3.0  18.0      2     90       25     3   1.00
52      130       3   2    170   1.5  13.5     10    120       25     3   1.25
53      120       3   1    200   6.0  11.0     14    260       25     3   1.33
54      100       3   0    320   1.0  20.0      3     45      100     3   1.00
55       50       1   0      0   0.0  13.0      0     15        0     3   0.50
56       50       2   0      0   1.0  10.0      0     50        0     3   0.50
57      100       4   1    135   2.0  14.0      6    110       25     3   1.00
58      100       5   2      0   2.7  -1.0     -1    110        0     1   1.00
59      120       3   1    210   5.0  14.0     12    240       25     2   1.33
60      100       3   2    140   2.5  10.5      8    140       25     3   1.00
61       90       2   0      0   2.0  15.0      6    110       25     3   1.00
62      110       1   0    240   0.0  23.0      2     30       25     1   1.00
63      110       2   0    290   0.0  22.0      3     35       25     1   1.00
64       80       2   0      0   3.0  16.0      0     95        0     1   0.83
65       90       3   0      0   4.0  19.0      0    140        0     1   1.00
66       90       3   0      0   3.0  20.0      0    120        0     1   1.00
67      110       2   1     70   1.0   9.0     15     40       25     2   1.00
68      110       6   0    230   1.0  16.0      3     55       25     1   1.00
69       90       2   0     15   3.0  15.0      5     90       25     2   1.00
70      110       2   1    200   0.0  21.0      3     35      100     3   1.00
71      140       3   1    190   4.0  15.0     14    230      100     3   1.50
72      100       3   1    200   3.0  16.0      3    110      100     3   1.00
73      110       2   1    250   0.0  21.0      3     60       25     3   1.00
74      110       1   1    140   0.0  13.0     12     25       25     2   1.00
75      100       3   1    230   3.0  17.0      3    115       25     1   1.00
76      100       3   1    200   3.0  17.0      3    110       25     1   1.00
77      110       2   1    200   1.0  16.0      8     60       25     1   1.00
   cups   rating
1  0.33 68.40297
2  1.00 33.98368
3  0.33 59.42551
4  0.50 93.70491
5  0.75 34.38484
6  0.75 29.50954
7  1.00 33.17409
8  0.75 37.03856
9  0.67 49.12025
10 0.67 53.31381
11 0.75 18.04285
12 1.25 50.76500
13 0.75 19.82357
14 0.50 40.40021
15 1.00 22.73645
16 1.00 41.44502
17 1.00 45.86332
18 1.00 35.78279
19 1.00 22.39651
20 0.50 40.44877
21 1.00 64.53382
22 1.00 46.89564
23 0.75 36.17620
24 0.75 44.33086
25 1.00 32.20758
26 0.75 31.43597
27 0.80 58.34514
28 0.67 40.91705
29 0.67 41.01549
30 0.75 28.02576
31 0.88 35.25244
32 0.75 23.80404
33 0.88 52.07690
34 0.25 53.37101
35 0.33 45.81172
36 1.00 21.87129
37 0.75 31.07222
38 1.33 28.74241
39 1.00 36.52368
40 0.75 36.47151
41 1.50 39.24111
42 0.67 45.32807
43 1.00 26.73451
44 1.00 54.85092
45 1.00 37.13686
46 1.00 34.13976
47 0.67 30.31335
48 1.00 40.10596
49 0.67 29.92429
50 0.67 40.69232
51 1.00 59.64284
52 0.50 30.45084
53 0.67 37.84059
54 1.00 41.50354
55 1.00 60.75611
56 1.00 63.00565
57 0.50 49.51187
58 0.67 50.82839
59 0.75 39.25920
60 0.50 39.70340
61 0.50 55.33314
62 1.13 41.99893
63 1.00 40.56016
64 1.00 68.23588
65 0.67 74.47295
66 0.67 72.80179
67 0.75 31.23005
68 1.00 53.13132
69 1.00 59.36399
70 1.00 38.83975
71 1.00 28.59278
72 1.00 46.65884
73 0.75 39.10617
74 1.00 27.75330
75 0.67 49.78744
76 1.00 51.59219
77 0.75 36.18756

To do…

  • Lab 3: Hip Hop Lyrics
    • Due Friday, 1/27 at 11:59pm
  • Challenge 3: Published Comparisons & Data Ethics
    • Due Saturday, 1/28 at 11:59pm
  • Read Chapter 4: Joins and Data Transformations
    • Concept Check 4.1 + 4.2 due Monday (1/30) at 8:00am